Thesis Proposal Towards a More Principled Compiler: Progressive Backend Compiler Optimization
نویسندگان
چکیده
As we reach the limits of processor performance and architectural complexity increases, more principled approaches to compiler optimization are necessary to fully exploit the performance potential of modern architectures. Existing compiler optimizations are typically heuristic-driven and lack a detailed model of the target architecture. In this proposal I develop the beginnings of a framework for a principled backend optimizer. Ideally, a principled compiler would consist of tightly integrated, locally optimal, optimization passes which explicitly and exactly model and optimize for the target architecture. Towards this end this proposal investigates two pivotal backend optimizations: register allocation and instruction selection. I propose to tightly integrate these optimizations in an expressive model which can be solved progressively, approaching optimality as more time is allowed for compilation. I present an expressive model for register allocation based on multi-commodity network flow that explicitly captures the important components of register allocation such as spill code optimization, register preferences, coalescing, and rematerialization. I also describe a progressive solution technique for this model that utilizes the theory of Lagrangian relaxation and domain-specific heuristics to approach the optimal solution and provide optimality-bound guarantees on solutions. As future work, I discuss some improvements that can be made to this model and solution technique to improve their performance and usefulness, and I sketch how I believe this model and solution technique can be extended to incorporate instruction selection and present some preliminary results that indicate the benefit achievable from such an integration.
منابع مشابه
Towards a More Principled Compiler: Register Allocation and Instruction Selection Revisited
Backend optimizations are a critical part of an optimizing compiler. This thesis develops a principled approach for understanding, evaluating, and solving backend optimization problems. Our principled approach is to develop a comprehensive and expressive model of the backend optimization problem, and design solution techniques for this model that achieve or approach optimality. We apply our pri...
متن کاملAn AMD64 Backend for HiPE: Implementation, Performance Evaluation, and Lessons Learned
This master’s thesis describes the construction of the AMD64 backend for the HiPE (High Performance Erlang) native code compiler, a part of Erlang’s primary implementation, the Erlang/OTP. More specifically it describes the work done when writing the compiler backend, some implementation choices that had to be made, and the performance effect of these choices. This thesis consists of two papers...
متن کاملTowards a Modular and Accessible Modelica Compiler Backend
Modelica is well suited for modelling complex physical systems due to the acausal description it is using. The causalisation of the model is carried out prior to each simulation. A significant part of the causalisation process is the symbolic manipulation and optimisation of the model. Despite the growing interest in Modelica, the capabilities of symbolic manipulation and optimisation are not f...
متن کاملAn Optimized Soft 3D Mobile Graphics Library Based on JIT Backend Compiler
Mobile device is one of the most widespread devices with rendering capabilities now. With the improved performance of the mobile device, displaying 3D scene becomes reality. This paper implements an optimized soft 3D mobile graphics library based on JIT backend compiler, which is suitable for the features of the mobile device. To deeply exploring the advantages of JIT technology, this paper imp...
متن کاملThe Program Optimization Spectrum A Research Statement
My current interests span programming languages, compilers and computer systems, with emphasis on program optimization. Contrary to accepted views, the area of program optimization is broad, multifaceted, almost interdisciplinary. Its spectrum extends from compiler optimization to the more experimental processor architecture and to the more formally treated program specialization. While my thes...
متن کامل